//
//  Session.h
//  Normal
//
//  Created by 8b410-2 on 16/12/9.
//  Copyright © 2016年 abb. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "OSCAccount.h"
#import "OSCValidationAccount.h"
#import "OSCOAuthRequestParams.h"
#import "OSCValidationAccountRequestParams.h"
@interface OSCAccountTools : NSObject
/// 用户模型
@property (nonatomic, strong) OSCAccount *account;

+ (instancetype)shareSession;

/**
 @return 是否登录
 */
+ (BOOL)isLogin;

/**
 更新account
 
 @param account 用户模型
 */
-(void)updateAccount:(OSCAccount *)account;

/**
 登录成功后
 
 @param account 模型
 */
- (void)loginSuccess:(OSCAccount *)account;

/**
 登出
 */
- (void)accountLogout;
/**
 保持登录用户名
 
 @param userName 用户名
 */
+(void) saveLastLoginUserName:(NSString *)userName;

/**
 获取上次登录用户名
 
 @return 用户名
 */
+(NSString *)getLastLoginUserName;

/**
 请求token
 
 @return OSCAccount模型
 */
+ (RACSignal *)requestTokenWithParamsModel:(OSCOAuthRequestParams *)params;

/**
 请求个人数据
 
 @return OSCUser模型
 */
+ (RACSignal *)requestUserWithParamsModel:(OSCBaseRequestParams *)params;


/**
 请求验证账户
 
 @return OSCValidationAccount模型
 */
+ (RACSignal *)requestValidationAccountWithParamsModel:(OSCValidationAccountRequestParams *)params;

@end
